package com.tul.exercise.base.jmockit.mockprivatemethod;

/**
 *
 */
public class Demo2ServiceImpl implements Demo2Service{

    // 外部接口
    private MorganMemberService morganMemberService;

    @Override
    public String sayName() {
        if (isTp()) {
            // 业务逻辑省略

            return  "TP Member";
        }
        return "Free Member";
    }


    // 需要mock方法
    private boolean isTp() {
        // 模拟调用dubbo接口获取会员是否为TP，调用代码省略...
        return true;
    }

    // 验证有参数的私有方法的mock
    public String sayNamelsValid(String str) {
        if (isValid(str)) {
            return "valid";
        }

        // 业务逻辑省略
        return "inValid";
    }

    private boolean isValid(String str) {
        // 业务逻辑省略
        return true;
    }
}
